using System;

namespace Visitor.Tests {
	public class TransactionProcessingVisitorR: ITransactionVisitorR<string> {
		public string Visit(AuthTransaction visitable) {
			Console.WriteLine("Do something with an AuthTransaction");
			return visitable.Id.ToString();
		}

		public string Visit(CreditTransaction visitable) {
			Console.WriteLine("Do something with an CreditTransaction");
			return visitable.Id.ToString();
		}

		public string Visit(VoidTransaction visitable) {
			throw new NotImplementedException();
		}

		public string Visit(SaleTransaction visitable) {
			throw new NotImplementedException();
		}

		public string Visit(CaptureTransaction visitable) {
			throw new NotImplementedException();
		}
	}
}